package Vista;

import java.awt.*;

import javax.swing.*;

import Controlador.*;

public class Ventana extends JFrame{
	

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private JLabel result;
	private ImageIcon iconNull=new ImageIcon(".\\src\\res\\N.png");
	public Ventana()
	{
		setSize(450,300);
		
		setTitle("Tres en Raya");
		Listener c=new Listener(this);
		addWindowListener(c);
		
		setLayout(new BorderLayout());
		//panel de botones
		JPanel panelBotnones=new JPanel();
		panelBotnones.setLayout(new GridLayout(3,3));
		
		
		Botones b1=new Botones(iconNull);
		Botones b2=new Botones(iconNull);
		Botones b3=new Botones(iconNull);
		Botones b4=new Botones(iconNull);
		Botones b5=new Botones(iconNull);
		Botones b6=new Botones(iconNull);
		Botones b7=new Botones(iconNull);
		Botones b8=new Botones(iconNull);
		Botones b9=new Botones(iconNull);
		
		panelBotnones.add(b1);
		panelBotnones.add(b2);
		panelBotnones.add(b3);
		panelBotnones.add(b4);
		panelBotnones.add(b5);
		panelBotnones.add(b6);
		panelBotnones.add(b7);
		panelBotnones.add(b8);
		panelBotnones.add(b9);
		
		
		
		b1.addActionListener(c);
		b2.addActionListener(c);
		b3.addActionListener(c);
		b4.addActionListener(c);
		b5.addActionListener(c);
		b6.addActionListener(c);
		b7.addActionListener(c);
		b8.addActionListener(c);
		b9.addActionListener(c);
		
		getContentPane().add(panelBotnones,BorderLayout.CENTER);
		
		Botones[] listaBotones = { b1, b2, b3, b4, b5, b6, b7, b8, b9 };
		c.setLista(listaBotones);
		
		JPanel panelOpc=new JPanel();
		panelOpc.setLayout(new GridLayout(4,0));
		
		ButtonGroup bg=new ButtonGroup();
		JRadioButton opc1=new JRadioButton("computadora vs humano",true);
		JRadioButton opc2=new JRadioButton("humano vs humano",false);
		
		bg.add(opc1);
		bg.add(opc2);
		
		
		panelOpc.add(opc1);
		panelOpc.add(opc2);
		
		result=new JLabel();
		panelOpc.add(result);
		
		Botones iniciar=new Botones("boton iniciar");
		panelOpc.add(iniciar);
		
		Reiniciar listenerInicio = new Reiniciar(opc1, opc2,c);
		
		iniciar.addActionListener(listenerInicio);
		
		
		getContentPane().add(panelOpc,BorderLayout.EAST);
		
	}
		


	public void setTurno(String i) 
	{
		result.setText(i);
	}
	
	public void setGanador(String o) 
	{
		result.setText(o);
	}
	
	public void terminarRonda(Botones inicio, Botones[] lista)
	{
		for(int i = 0; i < lista.length;i++){
			lista[i].setEnabled(false);
		}
		
		inicio.setText("Reiniciar");
		
		inicio.setEnabled(true);
	}
	public void comenzarNuevaRonda(Botones[] lista){
		for(int i = 0; i < lista.length;i++){
			lista[i].setEnabled(true);
		}
	}
	
	
}
